package com.whut.transportation.parser;


import java.lang.reflect.Type;
import java.util.HashMap;

import org.json.JSONException;
import org.json.JSONObject;

import com.google.gson.Gson;

/**
 * ============================================================
 * 
 * 描述 ：
 * 
 *     JSON解析基类
 * 修订历史 ：
 * 
 * ============================================================
 **/
public class JSONParser {
	private Type cls;

	public JSONParser(Type cls) {
		this.cls = cls;
	}

	public HashMap<String, Object> parseJSON(String paramString)
			throws JSONException {
		HashMap<String, Object> map = new HashMap<String, Object>();
		JSONObject json = new JSONObject(paramString);
		String result = json.getString("result");
		if(json.has("allpage")){
			map.put("allpage", json.get("allpage"));
		}
		if(json.has("code")){
			map.put("code", json.getInt("code"));
		} else if(json.has("serertime")) {
			map.put("ServerTime", json.getLong("serertime"));
		} else if(json.has("ServerTime") && !json.isNull("ServerTime")){
			map.put("ServerTime", json.getLong("ServerTime"));
		}
		if(json.has("sessionid") && !json.isNull("sessionid")){
			map.put("sessionid", json.getInt("sessionid"));
		}
		
		Gson gson = new Gson();
		System.out.println(result);
		map.put("result", gson.fromJson(result, cls));
		return map;
	}

}
